#ifndef HELICO_H
#define HELICO_H

class Missile;

#include "unite.h"
#include "../Arme/missile.h"
#include <iostream>
class Helico : public Unite
{
    public:
    Helico(sf::Vector2f position, std::string image, int nbimage, sf::Vector2f positionmissile
            , Missile missile, int equipe);
    ~Helico();
    virtual void Afficher(sf::RenderWindow *app,sf::Vector2f vent, Terrain *terre, Game *jeu, std::vector<sf::Sprite> unite, bool visible);
    void ajouterAngle();
    void retirerAngle();
    void Mouvement(Terrain *terre, int x, int y);
    void tirer(sf::Vector2f vent);
    virtual sf::Sprite GetSurface();
    virtual sf::Vector2f GetPosition();
    virtual sf::Vector2f GetRoquettePosition();
    virtual bool Evenement(int input, sf::RenderWindow *app, Terrain *m_terre, Game *jeu);
    virtual void SetPosition(sf::Vector2f new_position);
    Helico& operator=(const Helico &helico2);

    private:
    Animer m_spritehelico;
    sf::Vector2f m_taille;
    sf::Texture m_viseur_image;
    sf::Sprite m_viseur;
    sf::SoundBuffer m_bufferhelico, m_buffermissile;
    sf::Sound m_soundhelico, m_soundmissile;
    float  m_largeur, m_bouclier, m_angle_viseur;
    bool In_Move, Sound;
    int fin_Deplacement;
    sf::Clock clock;
    float time;
    Missile *m_missile;
};

#endif // HELICO_H
